<?php 
class venda_palestranteModel extends Model{
    public $tabela = "venda_palestrante";
    public $pkey   = 'venda_palestrante_cod';
    public $model_label       = "Palestrante";
    public $model_description = "Os palestrantes são as pessoas que apresentam os <b>eventos</b>.";
    
    public $dados  = array(
         'venda_palestrante_cod' => array(
	    'name'     => 'Código',
	    'type'     => 'int',
	    'size'     => '11',
	    'pkey'    => true,
	    'ai'      => true,
	    'grid'    => true,
	    'display' => true,
	    'private' => true
        ),
         'venda_palestrante_criadoem' => array(
	    'name'     => 'Criadoem',
	    'type'     => 'timestamp','private' => true,
	    'notnull' => true,
	    'grid'    => true,
	    'display' => true,
        ),
         'venda_palestrante_nome' => array(
	    'name'     => 'Nome Completo',
	    'type'     => 'varchar',
	    'size'     => '64',
            'unique'   => array(
                'model' => 'venda/palestrante'
            ),
	    'grid'    => true,
	    'display' => true,
        ),
        'venda_palestrante_default' => array(
	    'name'     => 'Padrão',
	    'type'     => 'enum',
	    'size'     => '64',
	    'grid'    => true,
            'default' => 'n',
            'notnull' => true,
            'options' => array(
                's' => 'Sim',
                'n' => 'Não',
            ),
            'especial' => 'hidden',
	    'display' => true,
        ),
        'venda_palestrante_status' => array(
	    'name'     => 'Status',
	    'type'     => 'enum',
	    'grid'    => true,
            'notnull' => true,
            'default' => 'ativo',
            'options' => array(
                'ativo' => 'Ativo',
                'excluido' => 'Excluído',
            ),
            'especial' => 'hide',
	    'display' => true,
        ),
        
        'button'  => array('button' => 'Gravar Palestrante'),);
    
    public function getPalestranteDefault(){
        $var = $this->selecionar(array('venda_palestrante_cod'), "venda_palestrante_default = 's'", 1);
        if(empty($var)){
            $var = $this->selecionar(array('venda_palestrante_cod'), "", 1);
            if(empty($var)) return '1';
        }
        $v = array_shift($var);
        return $v['venda_palestrante_cod'];
    }
    
    public function setDefault($cod_palestrante){
        $this->db->ExecuteQuery("
            UPDATE $this->tabela SET venda_palestrante_default = 'n'; 
            UPDATE $this->tabela SET venda_palestrante_default = 's' WHERE venda_palestrante_cod = '$cod_palestrante'; 
        ");
    }
    
    public function apagar($valor, $chave = "") {
        if($this->getCount("venda_palestrante_cod = '$valor' AND venda_palestrante_default = 's'") > 0){
            $this->setErrorMessage('
                Você não pode apagar um palestrante padrão do sistema. 
                Marque outro palestrante como padrão e então exclua este'
            );
            return false;
        }
  
        if(parent::apagar($valor, $chave)) return true;
        
        $post['venda_palestrante_status'] = 'excluido';
        if(parent::editar($valor, $post, $chave)){
            $this->setSuccessMessage('');
            $this->setErrorMessage('Este palestrante não pode ser excluído pois ele foi relacionado com alguns eventos no sistema! 
                Ele continuará no sistema mas será marcado com o status excluído.');
        }
        return false;
    }
    
    public function restaurar($cod_produto){
        $post['venda_palestrante_status'] = 'ativo';
        return (parent::editar($cod_produto, $post));
    }
}
?>